BonitoBook is a Julia-native interactive notebook system built on Bonito.jl that combines multi-language execution, AI integration, and modern web-based editing.
VSCode Plot Pane
Browser
Server deployments
HTML displays (Documenter, Pluto)
Electron applications
JuliaHub
Google Colab
BonitoBook is built entirely in Julia using Bonito.jl, providing native performance and seamless integration with the Julia ecosystem.
Range: 1-100, Value: 50
Bonito widgets are great, but don't nicely interact with the BonitoBook theme:
Range: 1-100, Value: 50
Python: None
BonitoBook includes first-class integration with Claude via the Claude Code CLI:
MCP Server: Julia RPC server for tool access
File operations: Claude can read/write project files
Code execution: Claude can run cells and see results
Chat interface: Built-in chat sidebar with image support
Example books demonstrating Claude integration:
examples/juliacon25.md - JuliaCon 25 video subtitle analysis
examples/mario.md - Interactive game
examples/penguins.md - Data analysis
Syntax highlighting for Julia, Python, Markdown, JSON, TOML
Code completion
Find/replace functionality
Multiple theme support (auto/light/dark)
Changes from e.g.
@edit are automatically applied.
Edit
styles/style.jl by pressing the paintcan icon to customize appearance:
Each book creates a structured project:
mybook/
├── Project.toml # Julia dependencies
├── Manifest.toml # Dependency lock file
├── book.md # Main content
├── styles/style.jl # Custom styling
├── ai/
│ ├── config.toml # AI configuration
│ └── system-prompt.md # Custom AI prompt
├── data/ # Data files
└── .versions/ # Automatic backups
This folder can be zipped and shared with all data, settings and style. With Project.toml and Manifest being part of the format, each notebook is reproducable.
Books support mixing Julia, Python, and Markdown cells seamlessly with shared variable namespaces.
Code runs in background threads without blocking the UI. Multiple cells can execute concurrently.
All changes are automatically saved to
.versions/ with timestamps for version recovery.
UI adapts to different screen sizes and orientations. Works on desktop, tablet, and mobile browsers.
Automatic dark/light mode detection with manual override support. Consistent theming across all components.
Collapsible sidebars for tools, file browser, chat, and custom widgets. Configurable positioning and behavior.
Files are watched for changes and automatically reloaded. Useful for development workflows with external editors.